10,815 research outputs found
Reasoning about the garden of forking paths
Lazy evaluation is a powerful tool for functional programmers. It enables the
concise expression of on-demand computation and a form of compositionality not
available under other evaluation strategies. However, the stateful nature of
lazy evaluation makes it hard to analyze a program's computational cost, either
informally or formally. In this work, we present a novel and simple framework
for formally reasoning about lazy computation costs based on a recent model of
lazy evaluation: clairvoyant call-by-value. The key feature of our framework is
its simplicity, as expressed by our definition of the clairvoyance monad. This
monad is both simple to define (around 20 lines of Coq) and simple to reason
about. We show that this monad can be effectively used to mechanically reason
about the computational cost of lazy functional programs written in Coq.Comment: 28 pages, accepted by ICFP'2
Energy Efficient Ant Colony Algorithms for Data Aggregation in Wireless Sensor Networks
In this paper, a family of ant colony algorithms called DAACA for data
aggregation has been presented which contains three phases: the initialization,
packet transmission and operations on pheromones. After initialization, each
node estimates the remaining energy and the amount of pheromones to compute the
probabilities used for dynamically selecting the next hop. After certain rounds
of transmissions, the pheromones adjustment is performed periodically, which
combines the advantages of both global and local pheromones adjustment for
evaporating or depositing pheromones. Four different pheromones adjustment
strategies are designed to achieve the global optimal network lifetime, namely
Basic-DAACA, ES-DAACA, MM-DAACA and ACS-DAACA. Compared with some other data
aggregation algorithms, DAACA shows higher superiority on average degree of
nodes, energy efficiency, prolonging the network lifetime, computation
complexity and success ratio of one hop transmission. At last we analyze the
characteristic of DAACA in the aspects of robustness, fault tolerance and
scalability.Comment: To appear in Journal of Computer and System Science
- …